package com.wujunshen.dumpling.database.query;

import lombok.AllArgsConstructor;
import lombok.Getter;

import java.util.stream.Stream;

/**
 * 数据库类型
 *
 * @author frankwoo
 */
@Getter
@AllArgsConstructor
public enum DataBaseType {
  /** MYSQL */
  MYSQL("mysql", "MySql数据库"),
  DEFAULT("nosql", "无数据库");

  /** 数据库名称 */
  private final String name;
  /** 描述 */
  private final String desc;

  /**
   * 获取数据库类型
   *
   * @param dbType {@link String} 数据库类型字符串
   * @return {@link DataBaseType}
   */
  public static DataBaseType getType(String dbType) {
    return Stream.of(values())
        .filter(dataBaseType -> dbType.equalsIgnoreCase(dataBaseType.name))
        .findFirst()
        .orElse(MYSQL);
  }
}
